//package com.inspur.edp.udt.generator.repository.assembler;
//
//import com.inspur.edp.caf.generator.property.ClassPropertyGenerator;
//import com.inspur.edp.caf.generator.property.PropertyGenerator;
//import com.inspur.edp.cef.generator.repository.valueObject.ValueObjectAssemblerGenCtx;
//import com.inspur.edp.cef.generator.repository.valueObject.ValueObjectAssemblerGenerator;
//import com.inspur.edp.cef.generator.repository.valueObject.methods.ValueObjInitColumnMethodGenerator;
//import com.inspur.edp.udt.designtime.api.entity.ComplexDataTypeDef;
//import com.inspur.edp.udt.designtime.api.entity.SimpleDataTypeDef;
//import com.inspur.edp.udt.designtime.api.entity.UnifiedDataTypeDef;
//import com.inspur.edp.udt.generator.repository.UdtRepoGenCtx;
//import com.inspur.edp.udt.generator.repository.assembler.method.ComplexUdtInitColumnGenerator;
//import com.inspur.edp.udt.generator.repository.assembler.method.SimpleUdtInitColumnGenerator;
//import com.inspur.edp.udt.generator.repository.assembler.property.ColumnMapTypePropGenerator;
//
//public class UdtAssemblerGenerator extends ValueObjectAssemblerGenerator
//{
//	protected UnifiedDataTypeDef udt;
//	public UdtAssemblerGenerator(UdtRepoGenCtx repoGenCtx, UnifiedDataTypeDef udt)
//	{
//		super(repoGenCtx, udt);
//		this.udt = udt;
//	}
//
//	@Override
//	protected ValueObjInitColumnMethodGenerator getInitColumnMethodGenerator()
//	{
//		if (udt instanceof SimpleDataTypeDef)
//		{
//			return new SimpleUdtInitColumnGenerator((ValueObjectAssemblerGenCtx)getContext(), (SimpleDataTypeDef)((udt instanceof SimpleDataTypeDef) ? udt : null));
//		}
//		else
//		{
//			return new ComplexUdtInitColumnGenerator((ValueObjectAssemblerGenCtx)getContext(), (ComplexDataTypeDef)((udt instanceof ComplexDataTypeDef) ? udt : null));
//		}
//	}
//
//	//protected override ValueObjInitReadersGenerator GetInitReadersGenerator()
//	//{
//	//    if (udt is SimpleDataTypeDef)
//	//    {
//	//        return new SimpleUdtInitReadersGenerator((ValueObjectAssemblerGenCtx)Context, udt as SimpleDataTypeDef);
//	//    }
//	//    else
//	//    {
//	//        return new ComplexUdtInitReadersGenerator((ValueObjectAssemblerGenCtx)Context, udt as ComplexDataTypeDef);
//	//    }
//	//}
//
//	@Override
//	protected ClassPropertyGenerator getColumnMapTypePropGenerator()
//	{
//		return new ColumnMapTypePropGenerator(udt);
//	}
//
//}